package com.iapcursos.portal.procefet.modelo.beans.sessions;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import com.iapcursos.portal.procefet.modelo.beans.entitys.Pessoa;
import com.iapcursos.portal.procefet.modelo.beans.entitys.Turma;
import com.iapcursos.portal.procefet.modelo.beans.sessions.interfaces.GerenciadorTurmas;

@Stateless(mappedName="gerenciadorTurmas")
public class GerenciadorTurmasBean implements GerenciadorTurmas {

	@PersistenceContext(unitName="iap")
	private EntityManager entityManager;
	
	@SuppressWarnings("unchecked")
	@Override
	public List<Turma> getAllTurmas() {
		List<Turma> turmas = new ArrayList<Turma>();
		Query query = entityManager.createNamedQuery("allTurmas");
		turmas = query.getResultList();
		return turmas;
	}

	@Override
	public Turma getTurmaById(Integer id) {
		Turma turma = entityManager.find(Turma.class, id);
		return turma;
	}

	@Override
	public void persistirTurma(Turma turma) {
		entityManager.persist(turma);
		
	}

	@Override
	public void atualizarTurma(Turma turma) {
		this.entityManager.merge(turma);		
	}

	@Override
	public void atualizarTurma(Turma turma, Pessoa aluno) {
		turma.addAluno(aluno);
		this.entityManager.merge(turma);		
	}

}
